# Simulator core makefile
#
#	ident	"@(#)Makefile.inc	1.10	05/11/17 SMI"
#

COREINSTNS=execinstns.c
ifdef REMOVEMACROS
CCCOREINSTNS=dem-execinstns.c
MADESRCS+=$(CCCOREINSTNS)
else
CCCOREINSTNS=execinstns.c
endif

INSTNIMPL+=$(CCCOREINSTNS)

CORESRCS=\
	main.c		\
	signals.c	\
	control.c	\
	options.c	\
	dbgrif.c	\
	xicache.c	\
	xdcache.c	\
	execkern.c	\
	breakpoint.c	\
	callback.c	\
	$(CCCOREINSTNS)

MADESRCS+=execinstns.h

COREOBJS=$(CORESRCS:%.c=%.o)

OBJS+=$(COREOBJS)

execinstns.h : $(COREINSTNS)
	./implhdr $< decoded_impl_ $@


EXECKERN_SUPPRESSED_ERRORS=-erroff=E_LOOP_NOT_ENTERED_AT_TOP

execkern.o : execkern.c
	$(CC) $(CFLAGS) $(CPPFLAGS) $(EXECKERN_SUPPRESSED_ERRORS) -c -o $@  $^

execinstns.o : execinstns.c execinstns.h
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $^ -o $@

dem-execinstns.c : execinstns.c execinstns.h
	echo $(COREOBJS)
	$(CC) $(CFLAGS) $(CPPFLAGS) -E $^ > /tmp/prep-$@
	code-tidy < /tmp/prep-$@ > $@
